#ifndef ACTIVATIONFUNCTION_H
#define ACTIVATIONFUNCTION_H

#include <vector>

class ActivationFunction {
public:
    virtual std::vector<std::vector<float>> apply(const std::vector<std::vector<float>>& Z) = 0;
    virtual std::vector<std::vector<float>> applyDerivative(const std::vector<std::vector<float>>& Z) = 0;
    virtual std::string getType() = 0;
    virtual ~ActivationFunction() = default;
};

#endif // ACTIVATIONFUNCTION_H